This invention relates generally to the fields of telecommunications and the processes by which telephone calls are switched into and out of a computer system from a telephone line or other communications link. The invention is particularly suitable for use in an environment in which a high volume of calls are routed into or out of the computer system at the same time.
The methods disclosed herein can be performed by an element of communications equipment we have called a "network access server." The network access server is a device that receives incoming calls and routes them to a computer system via a network, or that receives calls from the network and routes them onto a communications link. In our distributed processing invention, a dramatic increase in the efficiency of the call routing process is achieved, thereby maximizing call throughput and minimizing the overall call connect time. This result is achieved by distributing computationally intensive protocol processing (such as Point-to-Point Protocol or PPP processing) among multiple computing platforms such as the modems of the network access server. Heretofore, the protocol processing has been performed in a single computing platform at the network interface.
Various types of communication devices are placed at the interface between a modem and a computer network, such as routers, terminal servers, and modules sometimes referred to as "gateway cards". These devices implement software programs that control the inflow and outflow of calls between the modems and the network. One layer of the software hierarchy that is run in these devices is known in the art as an "application layer". This document makes frequent reference to the terms "application", "application layer" and "application software layer". As used herein, these terms mean a communication control and management software layer above the protocol stacks in a communication device, the device typically placed at the gateway (or interface) between a modem and a computer network.
State of the art modems, such as the V.34 Quad Modem developed by U.S. Robotics Corp., of Skokie, Ill., the assignee of the present invention, have a feature whereby two protocols are implemented in the modem. The first protocol is a modified version of an asynchronous High-level Data Link Control (HDLC) framing of Point-to-Point Protocol (PPP). The protocol could be synchronous HDLC framing of PPP in other implementations. The modem performs the flag sequence, data transparency, and Frame Check Sequence (FCS) on each PPP frame. The second protocol performed in the modem is Serial Line Internet Protocol (SLIP).
In the prior art, when an application software routine at the network access server gateway creates a PPP (or SLIP) frame, it checks each byte, looking for a byte that is a control character. If the application finds a control character, a PPP Escape character (or SLIP Escape character) is stuffed into the data stream. Then, the original control character is translated to a transparent character and stuffed into the data stream. This usually requires two buffers, because extra characters are added. For PPP frames, while the application is looking at each byte of the frame, it must also calculate the FCS. When the application receives a PPP (or SLIP) frame, it must do the reverse of the above process. In some network access servers, such as the U.S. Robotics NETServer, up to 60 modems may be active at any one time. This means that the gateway computing platform in the network access server would be doing this process for each of the 60 modems if the prior art technique was used. This results in a extremely heavy processing load on one computing platform, and introduces latencies and delays in the call routing process. These effects combine to significantly reduce call throughput, particularly where a large volume of calls are simultaneously received or transmitted through the network access server.
One prior art approach to increasing call throughput has been to incorporate communications controller hardware, such as the Cirrus Logic CL-CD 2430/CD 2431 device, into the protocol processing circuitry. The present invention eliminates the need for such expensive hardware devices, by enabling the performance of the protocol processing within existing computing platforms, such as the processors in the modems associated with the network access server.